This crate makes it possible to store objects containing dynamic fields either compactly in consecutive memory or using traditional heap pointers.
Bread-and-butter datastructures are offered, they feature:
- transparent access semantics, independent of currently used storage
- automatic spill from exhausted compact storage to heap storage
- recursive re-compaction
This is used in Kay
for:
- Storing actor state compactly in one place for cache coherency and easy persistence
- Sending complex, dynamically-sized messages over boundaries such as actors, threads and the network